Conventionally, various proposals for techniques for detecting a collision between a movable part of an industrial robot and an obstacle when the robot performs an operation have been made. For example, Japanese Laid-Open Patent Application Publication No. Hei. 5-208394 discloses a method of detecting a collision based on a disorder of a signal of a torque sensor attached to a motor configured to drive an arm of a robot. Japanese Laid-Open Patent Application Publications Nos. Hei. 8-66893 and 11-70490 disclose a method in which an observer estimates a disturbance torque received by a servo motor configured to drive a robot arm and a collision with an obstacle is detected based on the estimated disturbance torque. Japanese Laid-Open Patent Application Publication No. 8-229864 discloses a method of detecting a collision based on deviation between a position of a movable part which is given as a command by a robot controller and an actual position, in which a theoretical position deviation is calculated based on a delay time of a control system of the robot, and the collision is detected from comparison between the theoretical position deviation and the actual position deviation.
Regarding a process after detecting a collision, Japanese Laid-Open Patent Application Publication No. Hei. 7-143780 discloses a method of, upon detecting the collision, reducing an elapsed time from when the collision is detected until a collided portion of a robot stops by applying a torque to a motor in a reverse direction of a drive direction.
Thus, various proposals for techniques for detecting a collision between a movable part of a robot and an obstacle and techniques for stopping a collided portion of the robot after detecting the collision have been conventionally made. However, in these arts, consideration has not been fully given to inhibition of damage to each element caused by collision. This is due to the fact that, since a state in which the movable part of the robot is pressed against the obstacle continues for a certain time period when the robot is only stopped upon detecting the collision, an impact of the collision is not alleviated, and it is therefore impossible to minimize damage to each element caused by the collision.
In order to solve the problems associated with the arts conventionally proposed, applicant has proposed a drive control method and a drive controller in which a theoretical torque is calculated according to an equation of motion of a robot, then a theoretical current value of a servo motor is calculated from the theoretical torque, and when a difference between the theoretical current value and an actual current value is above a threshold, it is determined that a collision has occurred (Japanese Laid-Open Patent Application Publication No. Hei. 2001-117618).
However, in this prior proposals made by the applicant, the equation of motion must be created and solved for each robot, which requires considerable time. This problem has become serious because of diverse applications of the robot and increasing types of the robot.
In addition, since it is determined that a collision has occurred when the difference between the theoretical current value of the servo motor and the actual current value of the servo motor is above the threshold, this is susceptible to a seasonal effect of viscosity of a lubricant such as grease filled in a joint or the like of a robot arm. For example, in a region where viscosity of grease significantly increases during a winter season, it may be determined incorrectly that a collision has occurred because the difference between the theoretical current value of the servo motor and the actual current value of the servo motor is above the threshold although no collision actually occurs.